-- *****************************************************************
-- REDSTONE-TC
--
-- Redstone Communications Inc. Enterprise MIB
-- Textual Conventions
--
-- Copyright 1998 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-TC DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    Integer32,
    IpAddress
        FROM SNMPv2-SMI

    TEXTUAL-CONVENTION
        FROM SNMPv2-TC

    rsMgmt
        FROM REDSTONE-SMI;


rsTextualConventions  MODULE-IDENTITY
    LAST-UPDATED "200103082151Z"  -- 08-Mar-01 04:51 PM EST
    ORGANIZATION "Unisphere Networks, Inc."
    CONTACT-INFO
        "       Unisphere Networks, Inc.
        Postal: 10 Technology Park Drive
                Westford, MA  01886
                USA
        Tel:    +1 978 589 5800
        Email:  mib@UnisphereNetworks.com"
    DESCRIPTION
        "Textual conventions defined and used by the Redstone Communications
        enterprise."
    -- Revision History
    REVISION    "200103082151Z"  -- 08-Mar-01 04:51 PM EST  - RX 2.8
    DESCRIPTION
        "Removed nested TCs."
    REVISION      "9912120000Z"  -- 12-Dec-99               - RX 1.3
    DESCRIPTION
        "Added RsLogSeverity."
    REVISION      "9907140000Z"  -- 14-Jul-99               - RX 1.1
    DESCRIPTION
        "Added RsAcctngAdminType and RsAcctngOperType."
    REVISION      "9811130000Z"  -- 13-Nov-98               - RX 1.0
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { rsMgmt 1 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

RsEnable ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Enterprise-standard SYNTAX for MIB objects having
        enumerated value pair 'enable' and 'disable'. Used
        for both admin (configurable) and oper (read-only)
        objects."
    SYNTAX      INTEGER {
                    disable(0),
                    enable(1)
                }


RsName ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "15a"
    STATUS       current
    DESCRIPTION
        "A text name of restricted length.  Represents textual information taken
        from the NVT ASCII character set, as defined in SMIv2-TC.DisplayString."
    SYNTAX       OCTET STRING (SIZE (0..15))


RsNextIfIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Coordinate ifIndex value allocation for entries
        in an associated ifIndex-ed interface table, 
        by first reading an ifIndex value from this object, 
        then creating an entry, having that ifIndex
        value, in the associated interface table.

        The DESCRIPTION clause for an object of this type must
        identify the associated interface table.

        A GET of this object returns the next available ifIndex 
        value to be used to create an entry in the associated
        interface table; or zero, if no valid ifIndex value is
        available. This object also returns a value of zero when 
        it is the lexicographic successor of a varbind presented 
        in an SNMP GETNEXT or GETBULK request, for which circumstance
        it is assumed that ifIndex allocation is unintended.

        Successive GETs will typically return different
        values, thus avoiding collisions among cooperating
        management clients seeking to create table entries
        simultaneously.

        Unless specified otherwise by its MAX-ACCESS and DESCRIPTION 
        clauses, an object of this type is read-only, and a SET of 
        such an object returns a notWritable error.
        "
    SYNTAX      Integer32 (0..2147483647)


RsIpAddrLessIf ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Compressed index representation to identify both numbered and 
        unnumbered ('address-less') IP subnetworks.

        One approach is to identify such interfaces with a 2-tuple
        consisting of <IpAddress, ifIndex>, where only one of the 
        pair is nonzero for a valid interface (IpAddress is nonzero for 
        numbered interfaces, ifIndex is nonzero for unnumbered interfaces).

        As an alternative, this textual convention compresses the 2-tuple 
        information into an IpAddress (32-bit) format a.b.c.d having the 
        following interpretation:

        Format              Interpretation      IP Interface Type
        --------------------------------------------------------------
        0.0.0.0             'null' value        'none' or 'wildcard', etc.
        a.b.c.d, a != 0     IP Address          Numbered
        0.b.c.d             ifIndex             Unnumbered
        
        For the unnumbered case, the value of the ifIndex is given by
        (b * 65536) + (c * 256) + (d)
        
        A side-effect of this approach is that ifIndex values for
        IP network interfaces must fall in the range 1..16777215
        (i.e. 24 bits).
        "
    SYNTAX      IpAddress


RsTimeSlotMap ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A bit map representing one or more timeslots of a 
        DS1/E1 interface. Bits are numbered in descending order
        from 31-0 starting from the most significant bit of the
        first octet and ending with the least significant bit of 
        the fourth octet. Bits 1-24 are relevant for DS1 interfaces,
        bits 0-31 are relevant for E1 interfaces.
        
        A bit is set if the associated timeslot is in use, and cleared
        if the associated timeslot is not in use."
    SYNTAX      OCTET STRING (SIZE(4))


RsAcctngAdminType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The desired administrative state for the collection of
        accounting records.  The administrative domain governed by 
        an object of RsAcctngAdminType is defined in the MIB 
        OBJECT description that uses this type." 
    SYNTAX      INTEGER {
                    disabled(0),
                    enabled(1)
                }


RsAcctngOperType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The operational state for the collection of accounting records. 
         The administrative domain that an object of this type
         is reporting state for, is defined in the MIB object
         description that uses this type.

         The notSupported(2) state indicates that accounting data
         collection is not supported for the entity using an object of
         RsAcctngOperType type.  If an entity does not support
         accounting data collection, an object of RsAcctngOperType
         type will report notSupported(2) regardless of the value set 
         in the corresponding RsAcctngAdminType.  

         The disabled(0) state indicates that the corresponding
         RsAcctngAdminType object has been set to disabled(0).  If a 
         data collection is in process, the value of RsAcctngOperType
         will change to disabled(0) after the current collection
         completes.

         The enabled(1) state indicates that the corresponding 
         RsAcctngAdminType object has been set to enabled(1) and
         that the entity is ready to collect accounting records."
    SYNTAX      INTEGER {
                    disable(0),
                    enable(1),
                    notSupported(2)
                }

RsLogSeverity ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The log severity level.

        Lower numerical values correspond to higher
        severity levels. The value 'off' filters all
        severity levels."
    SYNTAX      INTEGER {
                    off(-1),
                    emergency(0),
                    alert(1),
                    critical(2),
                    error(3),
                    warning(4),
                    notice(5),
                    info(6),
                    debug(7)
                }
END